
struct shell_ctx;

struct shell_cmd {
        const char *label;
        void (*cmd_f)(struct shell_ctx *shell, int args, const char *argv[]);
        const char *help;
};

struct shell_ctx *owlsh_create(
        const char *prompt,
        int (*write_f)(void *ctx, const void *data, int len), void *ctx);
		
int shell_addcmd(struct shell_ctx *priv, const struct shell_cmd *cmd, void *ctx);
				 
int shell_addcmd_ext(struct shell_ctx *priv, const struct shell_cmd *cmd, void *ctx, const char *instance);

